package com.lizhenyao.waimai.service;

import com.lizhenyao.waimai.dataobject.ProductInfo;
import com.lizhenyao.waimai.dto.CartDTO;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * @Author: lizhenyao
 * @Desciption:
 */
public interface IProductService {

    ProductInfo findOne(String productId);

    /**
     * 查询所有在架的列表,是用户端使用
     * @return
     */
    List<ProductInfo> findUpAll();

    /**
     * 查询所有,管理端使用,分页的效果
     * @return
     */
    Page<ProductInfo> findAll(Pageable pageable);

    ProductInfo save(ProductInfo productInfo);

    //加库存
    void increaseStock(List<CartDTO> cartDTOList);

    //减库存
    void decreaseStock(List<CartDTO> cartDTOList);

    //上架
    ProductInfo onSale(String productId);

    //下架
    ProductInfo offSale(String productId);
}
